home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '90 / Other Stuff / Demos ƒ / Demo AppMaker / Demo AppMaker™ / Demo AppMaker™.rsrc / TmPT_303_zDoc < prev    next >
Encoding:
Text File  |  1990-03-23  |  3.4 KB  |  168 lines

  1. { %filename% -- document methods }
  2. { Created %date% %time% by AppMaker }
  3.  
  4. {    We recommend that you not modify this module and instead modify        }
  5. {    its subclass, %Appname%Doc.  The 'z' prefix on this module marks%    %}
  6. {    a module which is likely to be regenerated by AppMaker after you    }
  7. {    make changes to the user interface.  The modules without the 'z'    }
  8. {    prefix will not be regenerated by AppMaker unless you delete them.    }
  9. {    Using a separate subclass to override the AppMaker-generated code    }
  10. {    lets you regenerate code without losing your hand-coded changes.    } 
  11.  
  12. Unit %unitname%;
  13. Interface
  14.  
  15. Uses
  16.     TCL,
  17.     AMCL,
  18.     z%AppName%Intf,
  19.     %AppName%Intf,
  20.     ResourceDefs;
  21.  
  22. {----------}
  23. Implementation
  24.  
  25. {----------}
  26. Procedure Z%Appname%Doc.I%Appname%Doc    (aSupervisor:    CApplication;
  27.                                          printable:        Boolean);
  28. Begin
  29.     IDocument (aSupervisor, printable);
  30.     %for each window gen initNil%
  31. End; {I%Appname%Doc}
  32.  
  33. %if multiWindow%
  34.     {----------}
  35.     Procedure Z%Appname%Doc.Free;
  36.     Begin
  37.         %for each window gen free%
  38.         itsWindow := nil;
  39.         inherited Free;
  40.     End; {Free}
  41.     
  42.     {----------}
  43.     Procedure Z%Appname%Doc.ActivateWind (theWindow:    CWindow);
  44.     Begin
  45.         itsWindow := theWindow;
  46.         inherited ActivateWind (theWindow);
  47.     End; {ActivateWind}
  48.     
  49.     {----------}
  50.     Procedure Z%Appname%Doc.DeactivateWind (theWindow:    CWindow);
  51.     Begin
  52.         itsWindow := theWindow;
  53.         inherited DeactivateWind (theWindow);
  54.     End; {DeactivateWind}
  55.     
  56.     {----------}
  57.     Procedure Z%Appname%Doc.CloseWind (theWindow:    CWindow);
  58.     Begin
  59.         %for each window gen CloseWind%
  60.         end;
  61.     End; {CloseWind}
  62.  
  63. %endif%
  64. {----------}
  65. Function Z%Appname%Doc.ReadData        (var theData:        Handle): Boolean;
  66. Begin
  67.     ReadData := false;
  68. End; {ReadData}
  69.  
  70. {----------}
  71. Procedure Z%Appname%Doc.WriteData;
  72. Begin
  73.     { application-specific write data to itsFile }
  74. End; {WriteData}
  75.  
  76. {----------}
  77. Procedure Z%Appname%Doc.NewFile;
  78. Begin
  79.     BuildWindows;
  80.     itsWindow.Select;
  81. End; {NewFile}
  82.  
  83. {----------}
  84. Procedure Z%Appname%Doc.OpenFile    (macSFReply:    SFReply);
  85. var
  86.     theFile:        CDataFile;
  87.     theData:        Handle;
  88.     theName:        Str255;
  89.     theError:        OSErr;
  90. Begin
  91.     New (theFile);
  92.     with theFile do begin
  93.         IDataFile;
  94.         SFSpecify (macSFReply);
  95.     end; {with}
  96.  
  97.     itsFile := theFile;
  98.     theError := theFile.Open (fsRdWrPerm);
  99.     if not gError.CheckOSError (theError) then begin
  100.         Free;
  101.         Exit (OpenFile);
  102.     end;
  103.  
  104.     if not ReadData (theData) then begin
  105.         Free;
  106.         Exit (OpenFile);
  107.     end;
  108.  
  109.     BuildWindows;
  110.     DisposHandle (theData);
  111.     itsFile.GetName (theName);
  112.     itsWindow.SetTitle (theName);
  113.     itsWindow.Select;
  114. End; {OpenFile}
  115.  
  116. {----------}
  117. Procedure Z%Appname%Doc.BuildWindows;
  118. Begin
  119.     %for each window gen create%
  120. End; {BuildWindows}
  121.  
  122. {----------}
  123. Function Z%Appname%Doc.DoSave: Boolean;
  124. Begin
  125.     if itsFile = nil then begin
  126.         DoSave := DoSaveFileAs;
  127.     end else begin
  128.         WriteData;
  129.         dirty := false;
  130.         gBartender.DisableCmd (cmdSave);
  131.         DoSave := true;
  132.     end;
  133. End; {DoSave}
  134.  
  135. {----------}
  136. Function Z%Appname%Doc.DoSaveAs    (macSFReply:    SFReply): Boolean;
  137. var
  138.     theFile:        CDataFile;
  139.     theError:        OSErr;
  140. Begin
  141.     if itsFile <> nil then begin
  142.         itsFile.Free;
  143.     end;
  144.     New (theFile);
  145.     theFile.IDataFile;
  146.     theFile.SFSpecify (macSFReply);
  147.     itsFile := theFile;
  148.  
  149.     theError := theFile.CreateNew (gSignature, 'TEXT');
  150.     theError := theFile.Open (fsRdWrPerm);
  151.  
  152.     itsWindow.SetTitle (macSFReply.fName);
  153.     DoSaveAs := DoSave;
  154. End; {DoSaveAs}
  155.  
  156. {----------}
  157. Procedure Z%Appname%Doc.DoCommand    (theCommand: longint);
  158. Begin
  159.     case theCommand of
  160.         cmdClose:
  161.             CloseWind (itsWindow);
  162.         otherwise
  163.             inherited DoCommand (theCommand);
  164.     end; {case}
  165. End; {DoCommand}
  166.  
  167. End. {%unitname%}
  168.